using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using CimeaSoft.Repository.Mapping;
using CimeaSoft.BE;

namespace CimeaSoft.Repository
{
    public partial class CIMEAContext : DbContext
    {
        static CIMEAContext()
        {
            Database.SetInitializer<CIMEAContext>
                (
                    null
                    //new DropCreateDatabaseIfModelChanges<CIMEAContext>()
                    //new DropCreateDatabaseAlways<CIMEAContext>()
                    //new CimeaSoftDatabaseInitializer()
                );
        }

        public CIMEAContext()
            : base("Name=CIMEAContext")
        {
            this.Configuration.LazyLoadingEnabled = false;
            this.Configuration.ProxyCreationEnabled = false;
            this.Configuration.AutoDetectChangesEnabled = false;
        }

        public DbSet<Abi> Abis { get; set; }
        public DbSet<CalidCubierta> CalidCubiertas { get; set; }
        public DbSet<CalidCubierta2> CalidCubierta2 { get; set; }
        public DbSet<CobVegetacion> CobVegetacions { get; set; }
        public DbSet<CompSubstrato> CompSubstratoes { get; set; }
        public DbSet<CondiMetereologica> CondiMetereologicas { get; set; }
        public DbSet<Cuenca> Cuencas { get; set; }
        public DbSet<Cuenca2> Cuenca2 { get; set; }
        public DbSet<Elemento> Elementos { get; set; }
        public DbSet<EstruCubierta> EstruCubiertas { get; set; }
        public DbSet<FrecuRapido> FrecuRapidos { get; set; }
        public DbSet<GradCubierta> GradCubiertas { get; set; }
        public DbSet<GradCubierta2> GradCubierta2 { get; set; }
        public DbSet<GradoNaturalidad> GradoNaturalidads { get; set; }
        public DbSet<GradoNaturalidad2> GradoNaturalidad2 { get; set; }
        public DbSet<Hidrologia> Hidrologias { get; set; }
        public DbSet<Hidrologia2> Hidrologia2 { get; set; }
        public DbSet<IncluRapido> IncluRapidos { get; set; }
        public DbSet<Lecho> Lechoes { get; set; }
        public DbSet<Lecho2> Lecho2 { get; set; }
        public DbSet<Localizacion> Localizacions { get; set; }
        public DbSet<Muestra> Muestras { get; set; }
        public DbSet<Muestra_Abi> Muestra_Abi { get; set; }
        public DbSet<Muestra_CalidCubierta> Muestra_CalidCubierta { get; set; }
        public DbSet<Muestra_CalidCubierta2> Muestra_CalidCubierta2 { get; set; }
        public DbSet<Muestra_CobVegetacion> Muestra_CobVegetacion { get; set; }
        public DbSet<Muestra_CompSubstrato> Muestra_CompSubstrato { get; set; }
        public DbSet<Muestra_Cuenca> Muestra_Cuenca { get; set; }
        public DbSet<Muestra_Cuenca2> Muestra_Cuenca2 { get; set; }
        public DbSet<Muestra_Elementos> Muestra_Elementos { get; set; }
        public DbSet<Muestra_EstruCubierta> Muestra_EstruCubierta { get; set; }
        public DbSet<Muestra_FrecuRapidos> Muestra_FrecuRapidos { get; set; }
        public DbSet<Muestra_GradCubierta> Muestra_GradCubierta { get; set; }
        public DbSet<Muestra_GradCubierta2> Muestra_GradCubierta2 { get; set; }
        public DbSet<Muestra_GradoNaturalidad> Muestra_GradoNaturalidad { get; set; }
        public DbSet<Muestra_GradoNaturalidad2> Muestra_GradoNaturalidad2 { get; set; }
        public DbSet<Muestra_Hidrologia> Muestra_Hidrologia { get; set; }
        public DbSet<Muestra_Hidrologia2> Muestra_Hidrologia2 { get; set; }
        public DbSet<Muestra_IncluRapidos> Muestra_IncluRapidos { get; set; }
        public DbSet<Muestra_Lecho> Muestra_Lecho { get; set; }
        public DbSet<Muestra_Lecho2> Muestra_Lecho2 { get; set; }
        public DbSet<Muestra_PorcCause> Muestra_PorcCause { get; set; }
        public DbSet<Muestra_RegimVelocidad> Muestra_RegimVelocidad { get; set; }
        public DbSet<Muestra_Tramo> Muestra_Tramo { get; set; }
        public DbSet<Muestra_Tramo2> Muestra_Tramo2 { get; set; }
        public DbSet<ParametrosCampo> ParametrosCampoes { get; set; }
        public DbSet<ParamFisicOrganoleptico> ParamFisicOrganolepticos { get; set; }
        public DbSet<PorcCause> PorcCauses { get; set; }
        public DbSet<RegimVelocidad> RegimVelocidads { get; set; }
        public DbSet<Tramo> Tramoes { get; set; }
        public DbSet<Tramo2> Tramo2 { get; set; }
        public DbSet<MuestraResumen> MuestraResumens { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new AbiMap());
            modelBuilder.Configurations.Add(new CalidCubiertaMap());
            modelBuilder.Configurations.Add(new CalidCubierta2Map());
            modelBuilder.Configurations.Add(new CobVegetacionMap());
            modelBuilder.Configurations.Add(new CompSubstratoMap());
            modelBuilder.Configurations.Add(new CondiMetereologicaMap());
            modelBuilder.Configurations.Add(new CuencaMap());
            modelBuilder.Configurations.Add(new Cuenca2Map());
            modelBuilder.Configurations.Add(new ElementoMap());
            modelBuilder.Configurations.Add(new EstruCubiertaMap());
            modelBuilder.Configurations.Add(new FrecuRapidoMap());
            modelBuilder.Configurations.Add(new GradCubiertaMap());
            modelBuilder.Configurations.Add(new GradCubierta2Map());
            modelBuilder.Configurations.Add(new GradoNaturalidadMap());
            modelBuilder.Configurations.Add(new GradoNaturalidad2Map());
            modelBuilder.Configurations.Add(new HidrologiaMap());
            modelBuilder.Configurations.Add(new Hidrologia2Map());
            modelBuilder.Configurations.Add(new IncluRapidoMap());
            modelBuilder.Configurations.Add(new LechoMap());
            modelBuilder.Configurations.Add(new Lecho2Map());
            modelBuilder.Configurations.Add(new LocalizacionMap());
            modelBuilder.Configurations.Add(new MuestraMap());
            modelBuilder.Configurations.Add(new Muestra_AbiMap());
            modelBuilder.Configurations.Add(new Muestra_CalidCubiertaMap());
            modelBuilder.Configurations.Add(new Muestra_CalidCubierta2Map());
            modelBuilder.Configurations.Add(new Muestra_CobVegetacionMap());
            modelBuilder.Configurations.Add(new Muestra_CompSubstratoMap());
            modelBuilder.Configurations.Add(new Muestra_CuencaMap());
            modelBuilder.Configurations.Add(new Muestra_Cuenca2Map());
            modelBuilder.Configurations.Add(new Muestra_ElementosMap());
            modelBuilder.Configurations.Add(new Muestra_EstruCubiertaMap());
            modelBuilder.Configurations.Add(new Muestra_FrecuRapidosMap());
            modelBuilder.Configurations.Add(new Muestra_GradCubiertaMap());
            modelBuilder.Configurations.Add(new Muestra_GradCubierta2Map());
            modelBuilder.Configurations.Add(new Muestra_GradoNaturalidadMap());
            modelBuilder.Configurations.Add(new Muestra_GradoNaturalidad2Map());
            modelBuilder.Configurations.Add(new Muestra_HidrologiaMap());
            modelBuilder.Configurations.Add(new Muestra_Hidrologia2Map());
            modelBuilder.Configurations.Add(new Muestra_IncluRapidosMap());
            modelBuilder.Configurations.Add(new Muestra_LechoMap());
            modelBuilder.Configurations.Add(new Muestra_Lecho2Map());
            modelBuilder.Configurations.Add(new Muestra_PorcCauseMap());
            modelBuilder.Configurations.Add(new Muestra_RegimVelocidadMap());
            modelBuilder.Configurations.Add(new Muestra_TramoMap());
            modelBuilder.Configurations.Add(new Muestra_Tramo2Map());
            modelBuilder.Configurations.Add(new ParametrosCampoMap());
            modelBuilder.Configurations.Add(new ParamFisicOrganolepticoMap());
            modelBuilder.Configurations.Add(new PorcCauseMap());
            modelBuilder.Configurations.Add(new RegimVelocidadMap());
            modelBuilder.Configurations.Add(new TramoMap());
            modelBuilder.Configurations.Add(new Tramo2Map());
            modelBuilder.Configurations.Add(new MuestraResumenMap());
        }
    }
}
